package com.yxhl.zoume.data.http.repository.coupon;

import com.yxhl.zoume.data.http.rest.param.busticket.PerfectCouponParam;
import com.yxhl.zoume.data.http.rest.param.coupon.CouponSelectParam;
import com.yxhl.zoume.data.http.rest.param.coupon.CurrentCouponParam;
import com.yxhl.zoume.data.http.rest.param.coupon.HistoryCouponParam;
import com.yxhl.zoume.data.http.rest.response.coupon.CouponSelectResponse;
import com.yxhl.zoume.data.http.rest.response.coupon.CurrentCouponResponse;
import com.yxhl.zoume.data.http.rest.response.coupon.HistoryCouponResponse;
import com.yxhl.zoume.data.http.rest.response.coupon.PerfectCouponResponse;

import retrofit2.http.Body;
import rx.Observable;

/**
 * Created by vhawk on 2016/11/3.
 */

public interface CouponRepository {

    /**
     * 获取当前优惠券
     *
     * @param param
     * @return
     */
    Observable<CurrentCouponResponse> fetchCurrentCoupons(CurrentCouponParam param);

    /**
     * 获取历史优惠券
     *
     * @param param
     * @return
     */
    Observable<HistoryCouponResponse> fetchHistoryCoupons(HistoryCouponParam param);

    /**
     * 获取可用优惠券
     *
     * @param param
     * @return
     */
    Observable<CouponSelectResponse> fetchUsefulCoupons(CouponSelectParam param);

    /**
     * 最优优惠券
     * @param param
     * @return
     */
    Observable<PerfectCouponResponse> queryPerfectCoupon (@Body PerfectCouponParam param);
}
